# @author 菠萝吹雪
# @date 2024/4/19 14:17

'''
在Python的`requests`库中，`response`对象包含了许多有用的属性和方法，用于获取HTTP请求的响应信息。以下是一些常见的属性和方法：

1. `status_code`: 响应的HTTP状态码，例如200表示成功，404表示未找到。

2. `text`: 响应内容的字符串形式，默认编码为utf-8。

3. `content`: 响应内容的字节形式。

4. `headers`: 响应头，是一个字典对象，包含了响应中的所有头信息。

5. `url`: 获取实际请求的URL，解决重定向问题。

6. `history`: 如果请求被重定向，这个列表包含了重定向的response对象。

7. `cookies`: 响应中设置的cookies，是一个`RequestsCookieJar`对象。

8. `json()`: 如果响应是JSON格式的，这个方法可以解析JSON并返回一个Python字典。

9. `raise_for_status()`: 如果响应的状态码指示了一个错误（例如4xx或5xx），这个方法会抛出一个`HTTPError`异常。

10. `ok`: 这是一个布尔值，如果`status_code`小于400，则为True。

除了这些属性，`response`对象还提供了一些方法来处理流式上传和下载，以及一些其他高级功能。

请注意，使用`response.text`和`response.content`时，如果不确定响应内容的编码，最好先查看`response.encoding`属性来获取正确的编码。如果响应内容是二进制数据，应该使用`response.content`来获取。如果响应内容是文本，可以使用`response.text`来获取，并确保使用正确的编码。
'''

import requests

# 发送GET请求
# https://wh.bendibao.com/
# https://www.gushiwen.cn/
# header = {"Accept-Charset": "utf-8"}
response = requests.get("https://wh.bendibao.com/")

# 打印响应内容
print(response.text)

# 把相应内容写进文件
with open("./poem.txt", "w", encoding="utf-8") as f:
    f.write(response.text)

# 打印响应状态码
print(response.status_code)

# 打印响应头
print(response.headers)

# 打印实际请求的URL
print(response.url)

# 打印重定向的历史记录
print(response.history)

# 打印cookies
print(response.cookies)

# 判断响应是否成功
if response.ok:
    print("请求成功")

# 获取响应的编码
print(response.encoding)

# 关闭响应
response.close()
